﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admin_MyUserControls_TH_ChiTietSanPham_Case : System.Web.UI.UserControl
{
    private string loaisp, nsx, id;
    private DataSet objSanPhamDS;
    private DataSet objDataSet;
    protected void Page_Load(object sender, EventArgs e)
    {
        loaisp = Request.QueryString["loaisp"];
        nsx = Request.QueryString["nsx"];
        id = Request.QueryString["id"];

        if (!IsPostBack)
        {
            // Fill controls with data
            LoadDanhSachNPP();
            PopulateControls();
        }
    }

    public void LoadDanhSachNPP()
    {
        NhaPhanPhoiBUS objNPP = new NhaPhanPhoiBUS(TGDDConfiguration.DbConnectionString);
        try
        {
            DataSet objDataSet = objNPP.SelectNhaPhanPhoiAll();
            for (int i = 0; i < objDataSet.Tables["SelectNhaPhanPhoiAll"].Rows.Count; i++)
            {
                DataRow row = objDataSet.Tables["SelectNhaPhanPhoiAll"].Rows[i];
                ListItem item = new ListItem(row["TenNhaPhanPhoi"].ToString(), row["id"].ToString());
                cbxNhaPhanPhoi.Items.Add(item);
            }
        }
        catch (System.Exception e)
        {
            throw new Exception(e.Message, e.InnerException);
        }
    }

    // Populate the controls
    private void PopulateControls()
    {
        // Set the "go back to products" link
        // Retrieve product details from database
        SanPhamBUS objSanPham = new SanPhamBUS(TGDDConfiguration.DbConnectionString);
        try
        {
            objSanPhamDS = objSanPham.SelectSanPham(int.Parse(id));
            DataRow row = objSanPhamDS.Tables["SelectSanPham"].Rows[0];
            // Set up labels and images
            txtTenSP.Text = row["TenSanPham"].ToString();
            txtGia.Text = row["Gia"].ToString();
            txtSoLuongTon.Text = row["SoLuongTon"].ToString();
            txtBaoHanh.Text = row["BaoHanh"].ToString();
            ListItem itemNPP = new ListItem(row["TenNhaPhanPhoi"].ToString(), row["idNhaPhanPhoi"].ToString());
            cbxNhaPhanPhoi.SelectedIndex = cbxNhaPhanPhoi.Items.IndexOf(itemNPP);
            txtGia.Text = row["Gia"].ToString();
            editorMota.Content = row["MoTa"].ToString();
            imgHinhMinhHoa.ImageUrl = Request.ApplicationPath + "/images/products/" +
                row["HinhMinhHoa"].ToString();
        }
        catch (System.Exception ex)
        {
            throw new Exception(ex.Message, ex.InnerException);
        }
    }

    private void MessageBox(string msg)
    {
        Page.Controls.Add(new LiteralControl(
         "<script language='javascript'> window.alert('" + msg.Replace("'", "\\'") + "');</script>"));
    }

    protected void lkbtnCapNhat_Click(object sender, EventArgs e)
    {
        long quantity;

        if (long.TryParse(txtGia.Text, out quantity))
        {
            if (quantity < 0)
            {
                MessageBox("Vui lòng nhập giá hợp lệ");
                return;
            }
        }
        else
        {
            MessageBox("Vui lòng nhập giá hợp lệ");
            return;
        }

        if (long.TryParse(txtSoLuongTon.Text, out quantity))
        {
            if (quantity < 0)
            {
                MessageBox("Vui lòng nhập số lượng hợp lệ");
                return;
            }
        }
        else
        {
            MessageBox("Vui lòng nhập số lượng hợp lệ");
            return;
        }

        loaisp = Request.QueryString["loaisp"];
        nsx = Request.QueryString["nsx"];
        id = Request.QueryString["id"];

        SanPhamDTO spDto = new SanPhamDTO();
        spDto.Id = int.Parse(id);
        spDto.TenSanPham = txtTenSP.Text;
        spDto.HinhMinhHoa = fileUploadHinhAnh.FileName;
        spDto.Gia = long.Parse(txtGia.Text);
        spDto.IdLoaiSP = int.Parse(loaisp);
        spDto.IdNSX = int.Parse(nsx);
        spDto.SoLuongTon = int.Parse(txtSoLuongTon.Text);
        spDto.BaoHanh = txtBaoHanh.Text;
        spDto.IdNhaPhanPhoi = int.Parse(cbxNhaPhanPhoi.SelectedItem.Value.ToString());
        spDto.MoTa = editorMota.Content;

        SanPhamBUS objSP = new SanPhamBUS(TGDDConfiguration.DbConnectionString);
        int type = 0;
        if (!fileUploadHinhAnh.FileName.Equals(""))
            type = 1;
        if (objSP.UpdateSanPham(spDto, type))
        {
            if (type == 1)
            {
                string strBaseLocation = Server.MapPath("..") + "\\images\\products\\" + fileUploadHinhAnh.FileName;

                if (fileUploadHinhAnh.PostedFile != null)
                {
                    fileUploadHinhAnh.PostedFile.SaveAs(strBaseLocation);
                }
            }
            /////////////////////////////
            MessageBox("Cập nhật thành công");
            PopulateControls();
        }
        else
        {
            MessageBox("Cập nhật thất bại");
        }
    }
}
